#!python
#
# Pyste file for osg::ColorNT (for various values of N and T).

Include('ColorWrapper.h')

Color3 = Template('osg::Color3', 'OpenSG/OSGColor.h')

types = { 'osg::Real32' : 'f', 'osg::UInt8' : 'ub' }

for type, alias in types.iteritems():
   c = Color3(type)
   rename(c, 'Color3%s' % alias)
#   exclude(c.getValuesRGB)
#   add_method(c, 'Color3_getValuesRGB_tuple')
#   rename(c.Color3_getValuesRGB_tuple, 'getValuesRGB')
   set_wrapper(c.getValuesRGB, 'Color3_getValuesRGB_tuple<%s>'%type)
   set_wrapper(c.getValuesHSV, 'Color_getValuesHSV< osg::Color3<%s> >'%type)
   set_policy(c.operator['[]'], return_internal_reference(1))

Color4 = Template('OSG::Color4', 'OpenSG/OSGColor.h')

for type, alias in types.iteritems():
   c = Color4(type)
   rename(c, 'Color4%s' % alias)
#   exclude(c.getValuesRGBA)
#   add_method(c, 'Color4_getValuesRGBA_tuple')
#   rename(c.Color_getValuesRGBA_tuple, 'getValuesRGBA')
   set_wrapper(c.getValuesRGBA, 'Color4_getValuesRGBA_tuple<%s>'%type)
   set_wrapper(c.getValuesHSV, 'Color_getValuesHSV< osg::Color4<%s> >'%type)
   set_policy(c.operator['[]'], return_internal_reference(1))
